export class Device {

    /**
     * Creates an instance of Device.
     * @param {number} deviceId 设备id
     * @param {number} deviceCategoryId 设备分类id
     * @param {number} farmId 电站id
     * @param {number} phaseId 工期id
     * @param {number} circuitId 线路id
     * @param {number} modelId 型号id
     * @param {number} subArrayId 区域id
     * @param {string} deviceCode 设备编码
     * @param {string} deviceName 设备名称
     * @param {string} longitude 经度
     * @param {string} latitude 纬度
     * @param {number} elevation 海拔
     * @param {boolean} turBenchMark 是否是标杆风机
     * @param {number} seq 排序     
     * @param {number} [parentId] 设备父节点
     * @param {string} [deviceCategoryCode] 设备分类编码 
     * @param {string} [deviceCategoryName] 设备分类名称 
     * @param {string} [circuitName] 线路名称
     * @param {string} [phaseName] 工期名称
     * @param {string} [farmCode] 电站编码
     * @param {string} [farmName] 电站名称
     * @param {string} [modelName] 型号名称
     * @param {string} [subArraryName] 区域名称
     * @param {boolean} [isChecked=false] 是否选中 
     * @memberof Device
     */
    constructor(
        public deviceId: number,
        public deviceCategoryId: number,
        public farmId: number,
        public phaseId: number,
        public circuitId: number,
        public modelId: number,
        public subArrayId: number,
        public deviceCode: string,
        public deviceName: string,
        public longitude: string,
        public latitude: string,
        public elevation: number,
        public turBenchMark: boolean,
        public seq: number,
        public parentId?: number,
        public deviceCategoryCode?: string,
        public deviceCategoryName?: string,
        public circuitName?: string,
        public phaseName?: string,
        public farmCode?: string,
        public farmName?: string,
        public modelName?: string,
        public subArrayName?: string,
        public leave?: number,
        public children?: Device[],
        public isChecked: boolean = false, ) {

        Object.defineProperty(this, "isChecked", { enumerable: false });
        Object.defineProperty(this, "deviceCategoryCode", { enumerable: false });
        Object.defineProperty(this, "deviceCategoryName", { enumerable: false });
        Object.defineProperty(this, "circuitName", { enumerable: false });
        Object.defineProperty(this, "phaseName", { enumerable: false });
        Object.defineProperty(this, "farmCode", { enumerable: false });
        Object.defineProperty(this, "farmName", { enumerable: false });
        Object.defineProperty(this, "modelName", { enumerable: false });
        Object.defineProperty(this, "subArraryName", { enumerable: false });
        Object.defineProperty(this, "leave", { enumerable: false });
        Object.defineProperty(this, "children", { enumerable: false });
    }

}



// WEBPACK FOOTER //
// ./src/app/entity/device.model.ts